package edu.service;

import edu.vo.Student;

import java.util.List;
import java.util.Optional;

public interface StudentService {
    /**
     * 保存学生信息
     * @param student 学生对象
     * @return 保存后的学生对象
     */
    Student saveStudent(Student student);

    /**
     * 根据ID获取学生信息
     * @param id 学生ID
     * @return 学生对象的Optional包装
     */
    Optional<Student> getStudentById(Integer id);

    /**
     * 获取所有学生信息
     * @return 学生列表
     */
    List<Student> getAllStudents();

    /**
     * 根据ID删除学生信息
     * @param id 学生ID
     */
    void deleteStudentById(Integer id);

    /**
     * 更新学生信息
     * @param id 学生ID
     * @param student 新的学生信息
     * @return 更新后的学生对象
     */
    Student updateStudent(Integer id, Student student);
}